﻿var isIE6=window.attachEvent && !window.XMLHttpRequest;
//获取元素相对于整个文档的x位置
function pageX(elem){
    //查看元素是否位于根元素
    return elem.offsetParent ? 
        //如果能继续得到上一个元素，增加当前的偏移量并继续向上递归
        elem.offsetLeft + pageX(elem.offsetParent) : 
        //否则，获取当前的偏移量
        elem.offsetLeft;
} 
//获取元素相对于整个文档的y位置
function pageY(elem){
    //查看元素是否位于根元素
    return elem.offsetParent ? 
        //如果能继续得到上一个元素，增加当前的偏移量并继续向上递归
        elem.offsetTop + pageY(elem.offsetParent) : 
        //否则，获取当前的偏移量
        elem.offsetTop;
} 
//使页面某个元素相对窗口居中显示
function zbj_center(obj)
{
    var st=$(window).scrollTop();
    var sl=$(window).scrollLeft()
    //窗口高度
    var h= $(window).height();
    //窗口宽度
    var w= $(window).width(); 
    var l_w=obj.width();//元素宽度
    var l_h=obj.height();//元素高度
    var top = (parseInt(h) - parseInt(l_h))/2 + st +"px";
    var left= (parseInt(w) - parseInt(l_w))/2 + sl + "px";
    obj.css({top:top,left:left,position:"absolute"});
}

function ZBJ(){
}

/*
    Validator:验证用户输入
*/
ZBJ.prototype.Validator={
    /*
        验证输入是否空值
        @val:要验证的字符串
    */
    isNull:function(val){
        if(val.replace(/\s/g,"")==""){return true;}else{return false};
    },
    /*
        验证输入是否是合法邮箱地址
        @val:字符串
    */
    ismail:function(val){
        var p=/^\w+(?:[-+.']\w+)*@\w+(?:[-.]\w+)*\.\w+(?:[-.]\w+)*$/;
        if(p.test(val)){return true;}else{return false;}
    },
    /*
        验证输入是否是合法url地址
        @val:字符串
    */
    isUrl:function(val){
        var p=/^(?:http(?:s)?:\/\/)?([\w-]+\.)+[\w-]+(?:\/[\w- .\/\?%&=]*)?$/;
        if(p.test(val)){return true;}else{return false;}
    },
    /*
        验证输入是否是数字
        @val:要验证的字符串或数字
        @options:可选参数，{min:最小值,max:最大值,decimals:可以带几位小数}
    */
    isNum:function(val,options){
        var options=options || {};
        var p=/^\d+$/;
        if(options.decimals){p=eval("/^\\d+(?:\\.\\d{1,"+options.decimals+"})?$/");}
        var test=p.test(val);
        if(options.min){
            if(parseFloat(val)<options.min){
                test=false;
            }
        }
        if(options.max){
            if(parseFloat(val)>options.max){
                test=false;
            }
        }
        return test;
     },
     /*
        验证用户输入的内容长度是否符合要求
        @val:要验证的字符串或数字
        @options:可选参数，{min:最小长度,max:最大长度,noBlank:是否去除空格,传入true则去除，否则不去除}
     */
     checkLength:function(val,options){
        var options=options || {};
        if(options.noBlank == true){val=val.replace(/\s/g,"");}
        var l=val.length;
        var result=true;
        if(options.min>l){result=false;}
        if(options.max<l){result=false;}
        return result;
     },
     /*
        验证传入的两个值是否完全一致(不进行类型转换)
     */
     compare:function(val1,val2){
        return val1 === val2;
     },
     /*
        用户注册信息惟一性验证(邮箱、用户名……)，支持跨域
        @val:要验证的字符串
        @callBack:回调函数，将json回传
        @type:字符串，用户名("user")或邮箱("mail")或验证码("captcha")
        @seed:验证码标示
     */
     uniqueCheck:function(val,callBack,type,seed){
        if(type=="user"){
            type="nickname";
        }else if(type=="mail"){
            type="email";
        }
        var url="/sign/upcheck?isjs=1&type="+type+"&value="+encodeURIComponent(val)+"&jsoncallback=?";
        if(type=="captcha"){
            url="/sign/upcheck?isjs=1&type=captcha&value[]="+seed+"&value[]="+val+"&jsoncallback=?";
        }
        $.getJSON(url, function(json){
            callBack(json);
        });
     },
     /*
        验证用户名格式是否合法(4~20位数字、字母、下划线组成并且以字母开头)
        @val:要验证的字符串
     */
     isuser:function(val){
        var p=/^[a-z]{1}[a-z0-9_]{3,19}$/i;
        return p.test(val);
     },
     /*
        验证密码格式是否合法(6~20位任意字符)
        @val:要验证是字符串
     */
     ispwd:function(val){
        var p=/^[\s\S]{6,20}$/;
        return p.test(val);
     },
     /*
        验证用户名和密码
        @data:要发送的数据
        @callBack:可选参数，回调函数，请求成功后运行，传入json
     */
     login:function(data,callBack){
        $.ajax({
			url: "/sign/in?isjs=1",
			data:data,
			success: function(json) {
				if(callBack){callBack(json);}
			}
		})
     },
     /*
        验证用户输入是否是合法的日期格式(2011/12/11或12/11/2011)
        @val:要验证是字符串
     */
     isDate:function(val){
        if(val.replace(/\s/g,"")==""){return false};
        var d=new Date(val);
        if(isNaN(d)){
            return false;
        }else{
            return true;
        }
     }
}

/*
    Cookie:操作cookie的对象
*/
ZBJ.prototype.Cookie={
    /*
        根据name获取保存在cookie中的值
        @name:cookie名称
    */
    getCookie:function(name){
        var cookie=document.cookie;
        if(!name){
            return cookie;
        }else{
            var pattern="(?:; )?" + name + "=([^;]*);?";
            var p=new RegExp(pattern);
            if(p.test(cookie)){
                return decodeURIComponent(RegExp["$1"]);
            }
        }
    },
    /*
        设置新的cookie
        @name:cookie名称
        @value:新值
        @options:cookie参数,数据类型为JS对象 {expires:过期天数,path:访问路径,domain:域名}
    */
    setCookie:function(name,value,options){
        var newcookie=name + "=" + encodeURIComponent(value);
        var options=options || {};
        if(options.expires){newcookie+="; expires="+new Date(new Date().getTime()+options.expires*24*3600*1000).toUTCString();}
        if(options.path){newcookie+="; path="+options.path;}
        if(options.domain){newcookie+="; domain="+options.domain;}
        document.cookie=newcookie;
    },
    /*
        根据name删除cookie,如果该cookie设置了参数(比如路径和域名参数),则需要将参数一并传入
        @name:cookie名称
        @value:新值
        @options:cookie参数,数据类型为JS对象 {expires:过期天数,path:访问路径,domain:域名}
    */
    deleteCookie:function(name,options){
        var newcookie=name + "=";
        var options=options || {};
        if(options.expires){newcookie+="; expires="+new Date(0).toUTCString();}
        if(options.path){newcookie+="; path="+options.path;}
        if(options.domain){newcookie+="; domain="+options.domain;}
        document.cookie=newcookie;
    }
}
/*
    Other:提供各种小功能的对象
*/
ZBJ.prototype.Other={
    /*
        倒计时，提供两种形式的倒计时功能。1、只有秒的倒计时 2、传入天、时、分、秒的倒计时
        @time:倒计时,{d:天,h:时,m:分,s:秒,format:"object"},format表示返回值形式，传入"object"则返回{d:天,h:时,m:分,s:秒}，否则直接返回剩余数值
        @onTicking:倒计时中的回调函数，每倒数1秒就执行一次，回调函数的上下文对象this指向了内部的计时器i，可在回调函数内部使用clearInterval(this)提前结束计时
        @ended:倒计时结束后执行的回调函数，回调函数的上下文对象this指向了内部的计时器i，可在回调函数内部使用clearInterval(this)提前结束计时
    */
    timer:function(time,onTicking,ended){
        var time=time || {};
        var d=parseInt(time.d) || 0;
        var h=parseInt(time.h) || 0;
        var m=parseInt(time.m) || 0;
        var s=parseInt(time.s) || 0;
        s+=d*24*3600+m*60+h*3600;
        var ticker=0;
        var isobj= time.format=="object" ? true : false;
        //将秒转换成{d:天,h:时,m:分,s:秒}形式
        function convert2hms(s)
        {
            var d=Math.floor(s/(24*3600));s-=d*24*3600;
            var h=Math.floor(s/3600);s-=h*3600;
            var m=Math.floor(s/60);s-=m*60;
            return {d:d,h:h,m:m,s:s}
        }
        var i=setInterval(function(){
            s--;
            var cur= isobj==true ? convert2hms(s) : s;
            if(onTicking){onTicking.call(i,cur);};
            if(s==0){clearInterval(i);if(ended){ended.call(i,cur);}}
        },1000);
    },
    fixObj:function(obj,options){
        var options=options||{};
        function fix(){
            var l=pageX(obj.get(0).parentNode);
            if(!isIE6){
                obj.css("position","fixed");
                if(options.top){obj.css("top",options.top);}
                if(options.left){obj.css("left",(l+parseInt(options.left))+"px");}
            }else{
                //IE6的话，插入新的style标签，使用expression修复IE的fixed bug
                var headElement = $("head").first();
                var styleElement = document.createElement("style");
                styleElement.setAttribute("type", "text/css");
                headElement.append(styleElement);
                if(styleElement.styleSheet){
                    styleElement.styleSheet.cssText = "html{_text-overflow:ellipsis;}";
                    styleElement.styleSheet.cssText +="#"+obj.attr("id")+"{"+(options.left?"left:"+((l+parseInt(options.left))+"px"):"")+";position:absolute;"+(options.top?"top:expression(fixed = document.documentElement.scrollTop+"+parseInt(options.top)+")":"")+"}";
                }
            }            
        }
        fix();
        $(window).scroll(function(){
            if($(window).scrollTop()==0){
                obj.hide();
            }else{
                obj.show();
            }
        }).resize(function(){
            fix();    
        });
    },
    /*
        当垂直滚动条滚动超过某个元素的顶部时，使该元素紧贴着窗口顶部
        @obj:JQuery对象，该元素必须有id，不能带任何行内样式，并且删除该元素时不能影响到周边元素的定位
        @referObj:可选参数，JQuery对象，obj的参照对象，当obj随滚动条向下划动时，其底部不能超过referObj的顶部或底部，根据position来设置，默认为顶部"top"
        @position:可选参数，字符串，"top"或"bottom"
    */
    fixed:function(obj,referObj,position){
        var $win=$(window);
        var winWidth=$win.width();//窗口宽度
        var offset=obj.offset();
        var otop=offset.top;
        var oleft=offset.left;
        var o_h=obj.height();//元素高度
        var p=obj.parent().get(0);//obj的父元素
        var isbodyChild= p.tagName.toLowerCase()=="body" ? true : false;//判断元素是否直接位于body下
        var styleElement;
        var init=false;
        var isstop=false;//已停止跟随
        var old_top=obj.css("top");
        var obj_btm=otop+o_h;//元素底部离文档顶部的高度
        var btm_limit=referObj? (position=="bottom"? referObj.offset().top+referObj.height() : referObj.offset().top ):$(document).height();//参照对象底部离文档顶部高度
        //如果obj_btm大于btm _limit则退出
        if(obj_btm>=btm_limit){return false;}
        
        zbj.Other.fixed.ie6=function(){
            var st=$win.scrollTop();
            if(st+o_h>=btm_limit){
                st=btm_limit-o_h;
            }
            return st;
        }
        
        $win.scroll(function(){
            var st=$win.scrollTop();
            if(st>=otop){
                if(!init){
                    if(!isbodyChild){
                        $(document.body).append(obj);//如果不是body直接子元素，则将元素放到body下
                    }
                    if(!isIE6){
                        obj.css({position:"fixed",top:"0px",left:oleft});//非IE6，直接使用position=fixed
                    }else{
                        //IE6的话，插入新的style标签，使用expression修复IE的fixed bug
                        var headElement = $("head").first();
                        styleElement = document.createElement("style");
                        styleElement.setAttribute("type", "text/css");
                        headElement.append(styleElement);
                        if(styleElement.styleSheet){
	                        styleElement.styleSheet.cssText = "html{_text-overflow:ellipsis;}";
	                        styleElement.styleSheet.cssText +="#"+obj.attr("id")+"{left:"+oleft+"px;position:absolute;top:expression(fixed = zbj.Other.fixed.ie6())}";
                        }
                    }
                    init=true;
                }
                //判断是否超出参照对象底部，非IE6
                if(!isIE6 && !isstop && st+o_h>=btm_limit){
                    obj.css({position:"absolute",top:(btm_limit-o_h)+"px"});
                    isstop=true;
                }else if(!isIE6 && isstop && st!=0 && st+o_h<btm_limit){
                    obj.css({position:"fixed",top:"0px"});
                    isstop=false;
                }
            }else{
                if(!init){
                    if(isIE6){
                        obj.attr("style","");//去掉所有行内样式
                    }
                    return false;
                }else{
                    obj.attr("style","");//去掉所有行内样式
                    if(isIE6){
                        $(styleElement).remove();//如果是IE6的话，去样式
                    }
                    if(!isbodyChild){
                        $(p).append(obj);//再还原到原来的父元素内部
                    }
                    init=false;
                }
            }
        }).resize(function(){
            var newWinWidth=$win.width();
            if(winWidth>newWinWidth){
                oleft=oleft-(winWidth-newWinWidth)/2;
            }else{
                oleft=oleft+(newWinWidth-winWidth)/2;
            }
            winWidth=newWinWidth;
            obj.css({left:oleft});
        });

    },
    /*气泡提示*/
    showTip:function(obj){
        var tip=obj.get(0).tip;
        if(tip){
            tip.show();
        }else{
            var timer=null;
            tip=$(document.createElement("div"));
            tip.addClass("quesCon");
            var title=obj.attr("title");if(title===""){ return false;}
            obj.attr("title","");
            var html=[];
            html.push('<i class="arrow '+obj.attr("class")+'"></i>');
            html.push('<div class="content '+obj.attr("class")+'">');
            html.push(title);
            html.push('</div>');
            
            tip.html(html.join(""));
            $(document.body).append(tip);
            tip.show();

            obj.get(0).tip=tip;
            obj.mouseout(function(){
                timer=setTimeout(function(){
                     tip.hide();
                },200);
            }).mouseover(function(){
                clearTimeout(timer);
            });
            tip.mouseover(function(){
                clearTimeout(timer);
            }).mouseout(function(){
                timer=setTimeout(function(){
                     tip.hide();
                },200);
            });
        }
        function adjust(){
            var offset=obj.offset();
            var l=offset.left;
            var t=offset.top;
            var h=tip.height();
            tip.css({top:t-10,left:l});
        }
        adjust();
    }
}
window["zbj"]=new ZBJ();
var nomore=false;
var TB={};
function list(){
    var bigimg=$("#bigimg");
    var items=$("#items");
    var li=items.find("li");
    var shopInfoLi=li.filter(".J_ShopInfo");
    var listItemLi=li.filter(".list-item");
    var divphoto=items.find("div.photo");
    var s=shopInfoLi.size();
    if(s==0){s=divphoto.size();}
    if(s==0){
        nomore=true;
        alert("抱歉！没有找到与“"+$("#query").val()+"”相关的商品，建议您修改关键字后再进行搜索");
        return false;
    }else if(s<20){
        nomore=true;
    }
    var oldsize=s;
    var newget=s;
    var waiting=$("#waiting");
    var highlight=0;
    var moreItem=$("#moreItem");
    var lstxt=$("#lstxt");
    var loadingsmall=$("#loadingsmall");
    var isloading=false;
    var discount=$("#discount");
    var distyle=$("#distyle");
    var searchConfig=$("#searchConfig");
    var tryCount=1;
    if(discount.attr("checked")==true){loading({show:true,txt:"系统正在为您搜索商品，请稍候..."});}
    discount.click(function(){
        if(discount.attr("checked")==true){
            
        }else{
            distyle.remove();
        }
    });

    function loading(options){
        var options=options||{};
        if(options.show){
            isloading=true;
            moreItem.addClass("gray");
            loadingsmall.css("visibility","visible");
            lstxt.html(options.txt);
        }else{
            isloading=false;
            moreItem.removeClass("gray");
            loadingsmall.css("visibility","hidden");
            lstxt.html(options.txt);
        }
    }

    function start(i,end){
        if(i==end){
            waiting.hide("slow");
            if(newget<20){
                loading({show:false,txt:"已经没有更多合适的商品了"});
                moreItem.addClass("gray");
                moreItem.unbind("click").click(function(){
                    alert("已经没有更多合适的商品了");
                    return false;
                });
            }else{
                loading({show:false,txt:"搜索更多商品"});
            }
            
            if(highlight==0 && discount.attr("checked")==true){
                var config=zbj.Cookie.getCookie("config");
                if(config=="1"){
                    if(tryCount>=6 || newget<20){
                        alert("您搜索的商品中实在找不到打折促销的，系统已放弃继续尝试\n您可以手动再进行搜索\n不过还是建议您把\"只显示打折促销的商品\"这个选项去掉");
                        tryCount=1;
                        if(newget<20){
                            lstxt.text("已经没有更多合适的商品了");
                            moreItem.unbind("click").click(function(){
                                alert("已经没有更多合适的商品了");
                                return false;
                            });
                        }
                    }else{
                        tryCount++;
                        moreItem.click();
                    }
                }else{
                    if(confirm("抱歉，没找到打折促销的商品，是否再一次搜索？\n\点击\"确定\"系统将再次查找打折促销的商品。\n或者您可以将\"只显示打折促销商品\"这个选项去掉")){
                        moreItem.click();
                    }
                }
            }
            return false;
        }
        var me=shopInfoLi.eq(i);
        var index=shopInfoLi.index(me);
        if(me.size()==0){me=divphoto.eq(i);index=divphoto.index(me);}
        var curitem=listItemLi.eq(index);
        var alink=curitem.find("a");
        var auctionid=alink.filter(".J_LimitPromotion").first().attr("data-auctionid");
        var itemid=curitem.find("span.J_WangWang").first().attr("data-item");
        var dataurl=me.attr("dataurl");
        if(!dataurl||dataurl==""){
            user_id=/(\d+)&/.test(me.attr("data-quicksku-api"));
            dataurl="/interfaces/shopinfo_proxy.php?sid="+RegExp.$1+"&pf=5.0";
        }
        $.ajax({ 
            url: "http://s8.taobao.com"+dataurl+"&time="+Math.random(), 
            dataType:"script",
            success:function(){
                if(shop_info!="error"){
                    curitem.append(shop_info);
                    var shopcom=curitem.find("div.shop-comm");
                    var em=shopcom.find("em");
                    if(em.size()>0){
                        var rate=parseFloat(em.first().text());
                        if(rate<=98 && rate>=95){
                            shopcom.css({color:"red",fontWeight:"bold",border:"1px solid #FFC740",backgroundColor:"#FFFBE2"});
                            shopcom.append("<i class=\"i\"></i>");
                        }else if(rate<95){
                            shopcom.css({color:"red",fontWeight:"bold",border:"1px solid #E07A2F",backgroundColor:"#FFEEE7"});
                            shopcom.append("<i class=\"e\"></i>");
                        }
                    }                
                }
                curitem.append("<img src='http://img03.taobaocdn.com/imgextra/i3/496355542/T2ltlaXblNXXXXXXXX_!!496355542.gif' onclick='delitem($(this))' class='delitem' /><a href='#' value='"+alink.filter(".EventCanSelect").first().attr("title")+"' onclick='samecmp($(this));return false;' class='samecmp'>同名商品比价</a><span class='cmp'><input type='checkbox' value='"+index+"' onclick='selected(this)' />批量比价</span>");
                if(auctionid){
                    $.ajax({
                        url:"http://tbskip.taobao.com/limit_promotion_item.htm?auctionId="+auctionid+"&userId=24067040&time="+Math.random(),
                        scriptCharset:"gb2312",
                        dataType:"script",
                        success:function(){
                            var lipro=TB["LimitPromotion_"+auctionid+"_24067040"];
                            if(lipro){
                                if(lipro.indexOf("-")<0){
                                    lipro=lipro.split(";");
                                    curitem.append("<span class='promPrice'><span class='lipro_title'></span><span class='lipro_discount'>"+lipro[1]+" 折 <em>"+lipro[2]+"</em>元</span><span class='lipro_time'>剩余<em>"+lipro[0]+"</em></span></span>").addClass("highlight");
                                    highlight++;
                                }
                            }
                            start(++i,end);                            
                        }
                    });
                }else{
                    $.ajax({
                        url:"http://marketing.taobao.com/home/promotion/item_promotion_list.do?itemId="+itemid+"&time="+Math.random(),
                        scriptCharset:"gb2312",
                        dataType:"script",
                        success:function(){
                            if(yx_promList.isSuccess=="T"){
                                try{
                                    curitem.append("<span class='promPrice'>促销中：<em>"+yx_promList.promList[0].policyList[0].promPrice+"</em>元</span>");
                                    curitem.addClass("highlight");
                                    highlight++;
                                }catch(e){}
                            }
                            start(++i,end);                            
                        }
                    });
                }
            }
        });
    }
    start(0,s);
    function startQuery(){
        var txt="";
        if(tryCount==1){
            txt="系统正在为您搜索商品，请稍候...";
        }else if(tryCount==2){
            txt="没搜到打折促销的商品，系统正在为您进行第<font color=red>2</font>次搜索，请稍候...";
        }else if(tryCount==3){
            txt="还是没搜到打折促销的商品，系统正在为您进行第<font color=red>3</font>次搜索，请稍候...";
        }else if(tryCount==4){
            txt="依旧没搜到打折促销的商品，系统正在为您进行第<font color=red>4</font>次搜索，请稍候...";
        }else if(tryCount==5){
            txt="照样没搜到打折促销的商品，系统正在为您进行第<font color=red>5</font>次搜索，请稍候...";
        }else if(tryCount==6){
            txt="额.....系统正在为您进行第<font color=red>6</font>次搜索，请稍候...";
        }
        loading({show:true,txt:txt});
        highlight=0;
        $.ajax({
            url:(location.href+"&isjs=1&s="+listItemLi.size()).replace("#","")+"&t="+Math.random(),
            type:"GET",
            dataType:"html",
            timeout:30000,
            success:function(html){
                items.append(html);
                showbig();
                initClick($("#items"));
                li=items.find("li");
                shopInfoLi=li.filter(".J_ShopInfo");
                listItemLi=li.filter(".list-item");
                divphoto=items.find("div.photo");
                s=shopInfoLi.size();if(s==0){s=divphoto.size();}
                newget=listItemLi.size()-oldsize;
                oldsize=listItemLi.size();
                start(oldsize-newget,listItemLi.size());
                if(discount.attr("checked")==false){
                    loading({show:false,txt:"搜索更多商品"});
                }
                if(newget<20){
                    lstxt.text("已经没有更多合适的商品了");
                    moreItem.addClass("gray").unbind("click").click(function(){
                        alert("已经没有更多合适的商品了");
                        return false;
                    });
                }
            },
            error:function(){
                alert("抱歉，系统没有回应。请检查您的网络连接是否正常。\n可能是您的网速太慢或者是本站的服务器出问题了。");
                loading({show:false,txt:"搜索更多商品"});
            }
        });
    }
    moreItem.click(function(){
        if(isloading){alert("系统正在为您搜索商品，请稍候");return false;}
        startQuery();
        return false;
    }).focus(function(){moreItem.blur();});
    
    var $win=$(window);
    
    //自动搜索
    function autoSearch(){
        if(nomore || isloading){
            return false;
        }else{
            var t=$win.scrollTop();
            var w_h=$win.height();
            var mi_t=moreItem.offset().top;
            if(t+w_h>=mi_t-575){
                moreItem.click();
            }
        }
    }
    if(!nomore){
        $win.bind("scroll",autoSearch);
    }
    
    searchConfig.click(function(){
        var config=zbj.Cookie.getCookie("config");
        if(!config){
            alert("由于有些打折促销的商品在商品列表中排在很后面，系统需要多次搜索才能将其找出\n所以需要您告诉我们当系统在某一次搜索中找不到商品时候该如何操作");
        }
        if(confirm("是否使用此设置？\n当某一次搜索找不到打折促销商品时\n系统自动再进行搜索直到找到至少一个打折促销商品。\n点击\"确定\"使用此设置，或者点击\"取消\"查看其他设置")){
            zbj.Cookie.setCookie("config","1",{expires:365});
            alert("设置成功，设置信息已保存在您本地电脑上。");
        }else{
            if(confirm("是否使用此设置？：\n当某一次搜索找不到打折促销商品时\n系统会进行提示，并由您决定接下来的操作。\n点击\"确定\"使用此设置，或者点击\"取消\"退出")){
                zbj.Cookie.setCookie("config","0",{expires:365});
                alert("设置成功，设置信息已保存在您本地电脑上。");
            }
        }
        return false;
    });
    var hidetimer=null;
    var imgtimer=null;
    function showbig(){
        var imgs=$("div.photo img");
        imgs.unbind("mouseover").bind("mouseover",function(){
            var me=$(this);
            clearTimeout(hidetimer);
            imgtimer=setTimeout(function(){
                var offset=me.offset();
                var newimg=$(document.createElement("img"));
                bigimg.html("<img src='images/loading_big.gif' />");
                newimg.load(function(){
                    bigimg.empty();
                    bigimg.append(newimg);
                    bigimg.css("top",offset.top-115);
                });
                var newsrc=me.attr("src").replace("_sum","_310x310");
                if(newsrc.indexOf("image.aspx?url=")>-1){
                    newsrc.substr(newsrc.indexOf("image.aspx?url="));
                }
                newimg.attr("src",newsrc);
                bigimg.css({top:offset.top,left:offset.left+120});
                bigimg.show();
            },300);
        }).unbind("mouseout").bind("mouseout",function(){
            clearTimeout(imgtimer);
            hidetimer=setTimeout(function(){
                bigimg.hide();
            },200);
        });
    }
    bigimg.mouseover(function(){
        clearTimeout(hidetimer);
    }).mouseout(function(){
        hidetimer=setTimeout(function(){
            bigimg.hide();
        },200);
    });
    showbig();
}


//删除商品
function delitem(obj){
    obj.parent().slideToggle();
}
var compare=$("#compare");
//选中商品
function selected(elem){
    compare.css({top:pageY(elem)+20+"px",left:pageX(elem)+"px"});
    compare.show();
}
//同名比价
var query=$("#query");
var topform=$("#topform");
function samecmp(obj){
    var old=query.val();
    query.val(obj.attr("value"));
    topform.attr("target","_blank");
    topform.submit();
    query.val(old);
    topform.attr("target","");
}
//商品对比
function gocom(obj){
    var items=$("#items li.list-item");
    var chk=items.find(":checked");
    var real=[];
    for(var i=0;i<chk.size();i++){
        var cur=items.eq(chk.eq(i).val());
        if(cur.is(":visible")){
            real.push(cur);
        }
    }
    var win=window.open("compare.html","","height="+screen.height+",width="+screen.width+",scrollbars=yes,resizable=yes");
    if(!win){
        alert("对不起，您的浏览器屏蔽了弹出窗口，无法使用比价功能。");
        return false;
    }
    var d=win.document;
    d.writeln("<html>");
    d.writeln("<head><title>搜实惠 - 商品比价</title><link href=\"http://img.so10hui.com/css/default.css\" rel=\"stylesheet\" type=\"text/css\" /><script type=\"text/javascript\" src=\"https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js\"></script></head>");
    d.writeln("<body>");
    
    d.writeln("<table class='comptb'>");
    
    /*商品图片*/
    d.writeln("<tr>");
    d.writeln("<th></th>");
    for(var i=0;i<real.length;i++){
        d.writeln("<td>"+real[i].find("div.photo").html().replace("_sum","_160x160")+"</td>");
    }    
    d.writeln("</tr>");
    /*商品图片*/
    
    /*商品名称*/
    d.writeln("<tr>");
    d.writeln("<th>商品名</th>");
    for(var i=0;i<real.length;i++){
        d.writeln("<td>"+real[i].find("h3.summary").html()+"</td>");
    }    
    d.writeln("</tr>");
    /*商品名称*/
    
    
    /*商家名称*/
    d.writeln("<tr>");
    d.writeln("<th>商家</th>");
    for(var i=0;i<real.length;i++){
        d.writeln("<td class='seller'>"+real[i].find("li.seller").html()+"</td>");
    }    
    d.writeln("</tr>");
    /*商家名称*/
    
    /*所在地*/
    d.writeln("<tr>");
    d.writeln("<th>所在地</th>");
    for(var i=0;i<real.length;i++){
        d.writeln("<td class='shop-addr'>"+real[i].find("div.shop-addr").html().replace("所在地：","")+"</td>");
    }    
    d.writeln("</tr>");
    /*所在地*/
    
    /*商品价格*/
    d.writeln("<tr>");
    d.writeln("<th>价格</th>");
    for(var i=0;i<real.length;i++){
        d.writeln("<td class='price'>"+real[i].find("li.price").html()+"</td>");
    }    
    d.writeln("</tr>");
    /*商品价格*/
    
    /*运费*/
    d.writeln("<tr>");
    d.writeln("<th>运费</th>");
    for(var i=0;i<real.length;i++){
        d.writeln("<td class='shop-tran'>"+real[i].find("div.shop-tran").html().replace("运费：","")+"</td>");
    }    
    d.writeln("</tr>");
    /*运费*/
    
    /*促销*/
    d.writeln("<tr>");
    d.writeln("<th>打折促销</th>");
    for(var i=0;i<real.length;i++){
        var span=real[i].find("span.promPrice");
        if(span.size()>0){
            d.writeln("<td class='promPrice'>"+real[i].find("span.promPrice").html()+"</td>");
        }else{
            d.writeln("<td></td>");
        }
    }    
    d.writeln("</tr>");
    /*促销*/
    
    d.writeln("</table>");
    d.writeln("<script type=\"text/javascript\">$(document).find('tr:odd').addClass('odd');</script><span style=\"display:none;\"><script src=\"http://s19.cnzz.com/stat.php?id=2929891&web_id=2929891\" language=\"JavaScript\"></script></span>");
    d.writeln("</body>");
    d.writeln("</html>");
    
    
}

$("#filterToggle").click(function(){
    var me=$(this);
    if(me.attr("src")=="images/more.gif"){
        me.attr("src","images/close.gif");
    }else{
        me.attr("src","images/more.gif");
    }
    $("#more_options").toggle();
});

var KISSY={
    Suggest:{
        callback:function(data){
            if(data.result.length>0){
                showSuggest(data.result);
            }
        }
    }
}

var suggestTimer=null;
var curObj=null;
var suggestDiv=null;
var childDivs=null;

//输入提示
function initSuggest(obj){
    if(obj.size()==0){return false;}
    function start(){
        clearTimeout(suggestTimer);
        if(obj.val().replace(/\s/g,"")==""){ if(suggestDiv){ suggestDiv.hide()}; return false;}
        suggestTimer=setTimeout(function(){
            goSuggest(obj);
        },200);
        curObj=obj;
    }
    obj.keyup(function(e){
        var keycode=e.keyCode;
        switch(keycode){
            case 37:
            case 39:
            case 38:
            case 40:
                break;
            default:
                obj.attr("old",obj.val());
                start();
                break;
        }
    }).focus(function(){
        if(suggestDiv && suggestDiv.css("display")=="block"){
            return false;
        }else{
            obj.attr("old",obj.val());
            start();
        }
    }).click(function(e){
        if(e.cancelBubble){
            e.cancelBubble=true;
        }else{
            e.stopPropagation();
        }
    }).keydown(function(e){
        var keycode=e.keyCode;
        switch(keycode){
            case 38:
                prevOne();
                window.event.returnValue=false;
                break;
            case 40:
                nextOne();
                window.event.returnValue=false;
                break;
        }
    });
}

//按下向上的方向键
function prevOne(){
    if(suggestDiv && suggestDiv.css("display")=="block"){
        var index=curObj.attr("index");
        var size=parseInt(curObj.attr("size"));
        if(index===""){
            index=size-1;
        }else if(index=="0"){
            childDivs.removeClass("hover");
            curObj.attr("index","");
            curObj.val(curObj.attr("old"));
            return false;
        }else{
            index=parseInt(index)-1;
        }
        childDivs.removeClass("hover");
        childDivs.eq(index).addClass("hover");
        curObj.val(childDivs.eq(index).html());
        curObj.attr("index",index);
    }else{
        return false;
    }    
}

//按下向下的方向键
function nextOne(){
    if(suggestDiv && suggestDiv.css("display")=="block"){
        var index=curObj.attr("index");
        var size=parseInt(curObj.attr("size"));
        if(index===""){
            index=0;
        }else if(index==size-1){
            childDivs.removeClass("hover");
            curObj.attr("index","");
            curObj.val(curObj.attr("old"));
            return false;
        }else{
            index=parseInt(index)+1;
        }
        childDivs.removeClass("hover");
        childDivs.eq(index).addClass("hover");
        curObj.val(childDivs.eq(index).html());
        curObj.attr("index",index);
    }else{
        return false;
    }    
}

initSuggest($("#query"));
//开始查询
function goSuggest(obj){
    $.ajax({
        url:"http://suggest.taobao.com/sug?extras=1&code=utf-8&callback=KISSY.Suggest.callback&q="+obj.val()+"&rnd="+Math.random(),
        type:"GET",
        dataType:"script"
    });
}
//生成提示
function showSuggest(data){
    if(!suggestDiv){
        suggestDiv=$(document.createElement("div"));
        suggestDiv.attr({id:"suggestDiv"});
        $(document.body).append(suggestDiv).click(function(){
            suggestDiv.hide();
        });
    }
    suggestDiv.html("");
    for(var i=0;i<data.length;i++){
        suggestDiv.append("<div>"+data[i][0]+"</div>");
    }
    curObj.attr("size",data.length);
    curObj.attr("index","");
    childDivs=suggestDiv.find("div").click(function(){
        var me=$(this);
        curObj.val(me.html());
        curObj.parents("form").submit();
        suggestDiv.hide();
    });
    if(isIE6){
        childDivs.hover(function(){
            $(this).addClass("hover");
        },function(){
            childDivs.removeClass("hover");
        });
    }
    adjust(suggestDiv);
}
//调整输入提示div位置
function adjust(suggestDiv){
    var offset=curObj.offset();
    suggestDiv.css({left:offset.left,top:offset.top+curObj.outerHeight(),width:curObj.outerWidth()});
    suggestDiv.show();
}
var temp=$("#temp");
//记录点击
function initClick(obj,single){
    obj= single ? obj :obj.find("a");
    obj.unbind("click").click(function(){
        var data=[];
        var me=$(this);
        temp.html("").append(me.clone());
        data.push("html="+encodeURIComponent(temp.html()));
        data.push("url="+encodeURIComponent(location.href));
        data.push("k="+encodeURIComponent(query.val()));
        $.ajax({
            url:"ajax.aspx?save=on",
            data:data.join("&"),
            type:"POST",
            dataType:"json"
        });
    });
}

function showTip(obj,v){
    zbj.Other.showTip(obj);
}